/**
 * LEKU APPLIANCE CHAINS.
 * Copyright (c) 2016-2016 All Rights Reserved.
 */
package com.leku.video.service.impl.home;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.leku.commons.datasource.DataSourceContextHolder;
import com.leku.commons.util.StringUtil;
import com.leku.video.constants.AppConstant;
import com.leku.video.constants.DataSourceConstant;
import com.leku.video.dao.home.HomeDao;
import com.leku.video.dto.request.BaseReqDto;
import com.leku.video.dto.result.home.CenterResDto;
import com.leku.video.dto.result.home.KvDto;
import com.leku.video.dto.result.home.KvResDto;
import com.leku.video.service.home.HomeService;

/**
 * 功能描述: 首页服务
 *
 * @author Ranphy
 * @created 2018年9月20日
 * @version 1.0.0
 */
@Service
public class HomeServiceImpl implements HomeService {

	@Autowired
	private HomeDao homeDao;

	/**
	 * 
	 * 功能描述:获取系统解析插件
	 *
	 * @param reqDto
	 * @return
	 * @see [相关类/方法](可选)
	 * @since [产品/模块版本](可选)
	 */
	public CenterResDto findVideoKv(BaseReqDto reqDto) {
		// 设置数据源 ,影视数据库
		DataSourceContextHolder.setDataSourceType(DataSourceConstant.videoDataSource(reqDto.getAppCode()));

		CenterResDto result = new CenterResDto();

		KvResDto kvRes = new KvResDto();
		if (AppConstant.APP_YSDQ.equals(reqDto.getAppCode())) {

			String play = homeDao.findYSKv(reqDto.getOs(), reqDto.getPkgname(), reqDto.getChannel(),
					reqDto.getVersion(), "total_leku_play");
			String ad = homeDao.findYSKv(reqDto.getOs(), reqDto.getPkgname(), reqDto.getChannel(), reqDto.getVersion(),
					"total_leku_ad");
			
			kvRes.setPlay(StringUtil.isEmpty(play) ? false :  Boolean.parseBoolean(play));
			kvRes.setAd(StringUtil.isEmpty(ad) ? false :  Boolean.parseBoolean(ad));

		} else {
			KvDto kv = homeDao.findKv(reqDto.getOs(), reqDto.getPkgname(), reqDto.getChannel(), reqDto.getVersion());

			if (kv == null) {
				kvRes.setPlay(false);
				kvRes.setAd(false);
			} else {
				kvRes.setPlay(kv.getIsPlay() == null || kv.getIsPlay() == 0 ? false : true);
				kvRes.setAd(kv.getIsAd() == null || kv.getIsAd() == 0 ? false : true);
			}
		}

		result.setKv(kvRes);

		// 设置数据源 ,影视数据库
		DataSourceContextHolder.setDataSourceType(DataSourceConstant.manageDataSource());

		result.setJs(homeDao.findJs(reqDto.getOs()));

		result.setJdk(homeDao.findJdk(reqDto.getOs()));

		return result;
	}

}
